package com.example.service;

import io.github.pigmesh.ai.deepseek.core.chat.ChatCompletionResponse;
import org.springframework.web.bind.annotation.RequestParam;
import reactor.core.publisher.Flux;

/**
 * @author zhexueqi
 * @ClassName AiService
 * @since 2024/4/12    16:24
 */
public interface AiService {

    /**
     * 与AI进行对话分析数据
     * @param dataType 数据类型
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @param dimensions 分析维度
     * @return AI对话响应流
     */
    Flux<ChatCompletionResponse> chatWithAi(@RequestParam String dataType,
                                            @RequestParam String startDate,
                                            @RequestParam String endDate,
                                            @RequestParam String dimensions,
                                            String prompt
    );

    /**
     * 分析保险政策并提供个性化建议
     * @param policyData 保险政策数据
     * @param personData 用户数据
     * @return AI分析结果
     */
    Flux<ChatCompletionResponse> analyzePolicyRecommendation(String policyData, String personData);


    /**
     * 同步调用AI数据分析
     */
    String analyzeAi(@RequestParam String dataType,
                                     @RequestParam String startDate,
                                     @RequestParam String endDate,
                                     @RequestParam String dimensions,
                                     String prompt);

    String chatWithAI(String prompt);
}
